/**
 * Independent time operation tool to facilitate subsequent switch to dayjs
 */
import dayjs from 'dayjs'

const DATE_TIME_FORMAT = 'YYYY-MM-DD HH:mm:ss'
const DATE_FORMAT = 'YYYY-MM-DD'

export function formatToDateTime(date: dayjs.Dayjs | undefined = undefined, format = DATE_TIME_FORMAT): string {
  return dayjs(date).format(format)
}

export function formatToDate(date: dayjs.Dayjs | undefined = undefined, format = DATE_FORMAT): string {
  return dayjs(date).format(format)
}

// 之前日期
export const getBeforeTime = (beforeTime: number, type = 'month') => {
  if (type === 'month') {
    return dayjs()
      .subtract(beforeTime - 1, 'month')
      .format('YYYY-MM')
  } else if (type === 'day') {
    return dayjs().subtract(beforeTime, 'day').format('YYYY-MM-DD')
  }
}

// 获取时间差
export const timeDiff = (startTime: string, endTime: string, type: any = 'month') => {
  return dayjs(endTime).diff(dayjs(startTime), type)
}

export const dateUtil = dayjs
